The use of current generation NAND-Flash solid state drives (SSDs) for accelerating demanding server workloads, such as file and mail servers, business and scientific data analysis, as well as for online transaction processing databases is becoming more common as the advantages brought forth by their cost and performance characteristics over those of typical hard-disk drives (HDDs) are brought to fruition. Table 1, shows the difference in performance metrics of HDDs versus SSDs:
TABLE IHDD AND SSD PERFORMANCE METRICS.SSDHDDPrice/capacity ($/GB)$3$0.3Response time (ms)0.1712.6Throughput (R/W) (MB/s)277/202100/90 IOPS (R/W)30,000/3,500 150/150
SSDs have the potential to mitigate input/output (I/O) penalties by offering superior performance to HDDs, albeit at a higher cost per gigabyte (GB). In addition, SSDs bear complexity caveats, related to their internal organization and operational properties. Accordingly, mixed-device system architectures are currently preferred in data storage systems. In one example, a mixed-device system includes SSDs as a caching layer on top of HDDs, where the cost of the SSDs is expected to be amortized over increased I/O performance, both in terms of throughput and access rate.
Recently, prior art implementations of SSDs as a caching layer on top of HDDs have focused on how to improve the I/O performance using SSD caches, including, for example the following publications.
T. Kgil and T. Mudge, “FlashCache: a NAND flash memory file cache for low power web servers,” in CASES '06. ACM, pp. 103-112 discloses the use of flash memory as a secondary file cache for web servers.
S.-W. Lee, B. Moon, C. Park, J.-M. Kim, and S.-W. Kim, “A case for flash memory ssd in enterprise database applications,” in SIGMOD '08. ACM, pp. 1075-1086 discloses an analysis of the impact of using SSDs in transaction processing.
X. Ouyang, S. Marcarelli, and D. K. Panda, “Enhancing Checkpoint Performance with Staging IO and SSD,” in IEEE SNAPI '10, pp. 13-20 discloses how SSDs may be used in efficient checkpointing.
H. J. Lee, K. H. Lee, and S. H. Noh, “Augmenting RAID with an SSD for energy relief,” in HotPower '08. USENIXAssociation, pp. 12-12 discloses how SSDs can be used as a large cache on top of a RAID arrangement to conserve energy.
One of the problems with these prior art approaches is that they are application-specific and require application knowledge, intervention and tuning. In addition, the I/O bottlenecks resulting from the interface and relationship between SSDs and HDDs in such mixed-device systems are problematic when attempting to implement a general solution. This has driven the application-specific solutions currently known in the prior art. Accordingly, there is a need in the prior art for improvements to cache systems that address one or more of the above-identified problems with the prior art.